Φορτώνει, μη φορτώνεις...

ΕΠΙΣΤΡΟΦΗ

Υλοποίηση μέσω γλώσσας Wolfram στο WLJS Notebook .

Μαρκοβιανές αλυσίδες

Αλυσίδες Markov Διακριτού Χρόνου

Πίνακας και διάγραμμα μεταβάσεων

Clear["Global`*"] transitionMatrix = {{7/10, 0, 3/10, 0}, {1/2, 0, 1/2, 0}, {0, 2/5, 0, 3/5}, {0, 1/5, 0, 4/5}}; MatrixForm[transitionMatrix] mp = DiscreteMarkovProcess[2, transitionMatrix]; Graph[mp] Graph[mp]//MMAView Το `MMAView` ήταν απαραίτητο, όπως βλέπετε, δίοτι το WLJS δεν σχημάτιζε τα βέλη. Για ετικέτες στα βέλη πρέπει να γράψουμε: `Graph[mp, EdgeLabels -> {e_ :> MarkovProcessProperties[mp, "TransitionMatrix"][[## & @@ e]]}]` Δυστυχώς, επί του παρόντος δεν λειτουργεί στο WLJS. Ας δούμε και την πορεία στο χρόνο με έα άλλο παράδειγμα. Clear["Global`*"] transitionMatrix1 = {{1/2, 1/2, 0, 0}, {1/2, 1/2, 0, 0}, {1/4, 1/4, 1/4, 1/4}, {0, 0, 0, 1}}; transitionMatrix = {{7/10, 0, 3/10, 0}, {1/2, 0, 1/2, 0}, {0, 2/5, 0, 3/5}, {0, 1/5, 0, 4/5}}; transitionMatrix // MatrixForm (*Οι mp και mp2 δεν έχουν διαφορά που να φαίνεται τώρα. Θα φανεί στην σχεδίαση της πορείας στο χρόνο*) (*Με αρχική κατάσταση την 1*) mp = DiscreteMarkovProcess[1, transitionMatrix]; (*Με αρχική κατανομή την p0*) p0 = {1/8, 1/8, 1/4, 1/2} mp2 = DiscreteMarkovProcess[p0, transitionMatrix]; Graph[mp]//MMAView

Πίνακας μετάβασης n βημάτων

PDF[mp[n], 2] PDF[mp[n], katastasi] // PiecewiseExpand

Στάσιμη κατανομή

PDF[StationaryDistribution[mp], 2] PDF[StationaryDistribution[mp], katastasi] // PiecewiseExpand

Πορεία στο χρόνο

myData = RandomFunction[mp, {0, 100}]; ListPlot[myData, Filling -> Axis] myData2 = RandomFunction[mp2, {0, 100}]; ListPlot[myData2, Filling -> Axis]

Πιθανότητα πρώτης επαφής

proto = FirstPassageTimeDistribution[mp, 3]; PDF[proto, k]

Σύνοψη συμπερασμάτων

myMatrix = {{1/3, 0, 2/3, 0, 0, 0}, {1/3, 1/3, 0, 1/3, 0, 0}, {1/2, 0, 1/2, 0, 0, 0}, {0, 1/4, 0, 0, 1/2, 1/4}, {0, 0, 0, 0, 1, 0}, {0, 1, 0, 0, 0, 0}}; MatrixForm[myMatrix] mp3 = DiscreteMarkovProcess[3, myMatrix]; Graph[mp3] MarkovProcessProperties[mp3]

Αλυσίδες Markov Συνεχούς Χρόνου

Πίνακας και διάγραμμα μεταβάσεων

Clear["Global`*"] mp = ContinuousMarkovProcess[{1, 0, 0}, ({{-2, 1, 1}, {1, -2, 1}, {1, 1, -2}})]; Graph[mp] Graph[mp, EdgeLabels -> {e_ :> MarkovProcessProperties[mp, "TransitionMatrix"][[## & @@ e]]}]

Κατανομή χρόνου παραμονής σε κατάσταση

PDF[mp[t], k] // PiecewiseExpand

Πορεία στο χρόνο

myData = RandomFunction[mp, {0, 10}]; ListStepPlot[myData]

Κώστας Κούδας | © 2025